import http from "../../utils/request";
import { getFilmList } from "../../api/index";

Page({
  // 如果某些数据不需要引起页面更新的话，则不要将它放置在 data 选项中
  pageNum: 1,
  pageSize: 10,
  total: 1, // 总条数

  data: {
    list: [],
    loadText: "加载中...",
  },

  onLoad() {
    this.getFilmList();
  },

  // 触底事件处理函数
  onReachBottom() {
    // console.log('onReachBottom')
    // 1. 判断是否还有下一页
    const {
      data: { list },
      total,
    } = this;
    if (list.length >= total) {
      // 没有下一页
      this.setData({
        loadText: "没有更多了",
      });
      return;
    }

    // 还有下一页
    this.pageNum++;
    this.getFilmList();
  },

  // 下拉事件处理函数
  onPullDownRefresh() {
    this.pageNum = 1;
    this.getFilmList().then(() => {
      wx.stopPullDownRefresh();
    });
  },

  // 跳转详情页面
  goInfo(event) {
    // 获取 id 的参数
    console.log(event.currentTarget);
    const { id } = event.currentTarget.dataset;
    // 跳转页面并传递参数
    wx.navigateTo({
      url: `/pages/film-info/index?id=${id}`,
    });
  },

  /**
   * 调用接口获取列表数据
   */
  //   getFilmList() {
  //     return new Promise((resolve, reject) => {
  //       // 获取缓存中的 city
  //       const city = wx.getStorageSync("city");
  //       console.log("city", city);

  //       wx.request({
  //         url: "https://m.maizuo.com/gateway",
  //         method: "GET",
  //         //  根据 请求方式 来决定是拼接在 url 地址上，还是请求体的数据
  //         data: {
  //           cityId: city ? city.cityId : 440300,
  //           pageNum: this.pageNum,
  //           pageSize: this.pageSize,
  //           type: 1,
  //           k: 9297413,
  //         },
  //         header: {
  //           "X-Host": "mall.film-ticket.film.list",
  //         },
  //         success: ({ data }) => {
  //           console.log("data", data);
  //           if (data.status !== 0) {
  //             // 失败
  //             wx.showToast({
  //               icon: "none",
  //               title: data.msg,
  //             });
  //             reject("失败");
  //             return;
  //           }

  //           // 成功
  //           this.total = data.data.total;
  //           this.setData({
  //             // 拼接
  //             list:
  //               this.pageNum === 1
  //                 ? data.data.films
  //                 : [...this.data.list, ...data.data.films],
  //           });

  //           // 让 Promise 成功
  //           resolve();
  //         },
  //       });
  //     });
  //   },

  getFilmList() {
    // 获取缓存中的 city
    const city = wx.getStorageSync("city");
    const cityId = city ? city.cityId : 440300;
    console.log("city", city);

    return getFilmList(cityId, this.pageNum, this.pageSize).then((data) => {
      // 成功
      this.total = data.data.total;
      this.setData({
        // 拼接
        list:
          this.pageNum === 1
            ? data.data.films
            : [...this.data.list, ...data.data.films],
      });
    });
  },

  // 去城市列表
  goCityList() {
    wx.navigateTo({
      url: "/pages/city-list/index",
      success: ({ eventChannel }) => {
        // eventChannel 是一个含有 emit 与 on 的通道对象
        eventChannel.on("abcd", () => {
          console.log("abcd");
          // 重新获取电影列表数据
          this.getFilmList();
        });
      },
    });
  },
});
